Content delivery services are becoming widespread. Many of such services are implemented using a mechanism in which a server delivers content by directly receiving a request from a client. This method, however, has the problem that the server load greatly increases as the number of clients (users) increases. In view of this, BitTorrent (a trademark of BitTorrent Incorporated), for example, which is a protocol for a file sharing system, a mechanism is implemented that reduces or eliminates the server load by dividing content into a plurality of blocks and distributing them among multiple user nodes.
In this method, the client (receiving server) checks with other user nodes (delivery nodes) to see if any one of them has a designated block, and acquires that block, and the client downloads the entire content by repeating this process for all the blocks. Fast downloading is achieved by receiving different blocks from a plurality of nodes at once. A method is also implemented that achieves efficient downloading by strategically distributing content blocks among user nodes, for example, in the case of frequently downloaded content, by distributing duplicate blocks among a number of user nodes (refer, for example, to Patent Document 1 given below).
While this method can achieve efficient and high-speed downloading, it requires a large network bandwidth. On the other hand, in the case of streaming, which unlike downloading, allows the user to play back the content as it is received, the receiving node needs to have the necessary data at the time of playback (i.e., the portion about to be played back). The receiving node need only have the data as it becomes necessary for playback, and need not necessarily acquire the data earlier than that. If the mechanism of downloading is directly applied to streaming, there can occur cases where the necessary data cannot be received in time, causing an interruption in playback, or where the delivery node uses the bandwidth by acquiring the data unnecessarily earlier, resulting in a reduction in the efficiency of delivery to other nodes.
Patent Document 1: Japanese Unexamined Patent Publication No. 2006-025408